// Copyright  2012 Petr TALLA. [petr.talla@gmail.com]
// This file is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This file is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY;  without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
// [http://www.gnu.org/copyleft/lesser.html]
//=============================================================================
#pragma once

#include <list>

class TcObject;

//=============================================================================
class TcObserver {
//=============================================================================
public:
//<CONSTRUCTION>
    TcObserver(TcObject* object);
//<ITEMS>
    TcObject* get(int index = 0);
    int count() { return objects_.size(); };
//=============================================================================
protected:
//<DATA>
    std::list<TcObject*> objects_;
};
